package com.gongye.courseselectionsystem.pojo.po;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * 选课表
 *
 * @author baorongchuan
 * @TableName choose_course
 */
@TableName(value = "choose_course")
@AllArgsConstructor
@NoArgsConstructor
@Data
@ApiModel("选课表实体类")
public class ChooseCourse implements Serializable {

    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ColumnWidth(value = 9)
    @ExcelProperty("课程号")
    @ApiModelProperty("课程号")
    @TableField(value = "courseNumber")
    private Integer courseNumber;

    @ColumnWidth(value = 20)
    @ExcelProperty("课程名称")
    @ApiModelProperty("课程名称")
    @TableField(value = "courseName")
    private String courseName;

    @ColumnWidth(value = 20)
    @ExcelProperty("教师工号")
    @ApiModelProperty("教师工号")
    @TableField(value = "teacherJobNumber")
    private Integer teacherJobNumber;

    @ExcelProperty("学号")
    @ApiModelProperty("学号")
    @TableField(value = "studentNumber")
    private Integer studentNumber;

    @ExcelProperty("选课时间")
    @ApiModelProperty("选课时间")
    @ColumnWidth(value = 19)
    @TableField(fill = FieldFill.INSERT, value = "chooseCourseTime")
    private Date chooseCourseTime;

    @ColumnWidth(value = 9)
    @ExcelProperty("创建人")
    @ApiModelProperty("创建人")
    @TableField(value = "createName")
    private String createName;

    @ColumnWidth(value = 9)
    @ExcelProperty("更新人")
    @ApiModelProperty("更新人")
    @TableField(fill = FieldFill.INSERT_UPDATE, value = "updateName")
    private String updateName;

    @ColumnWidth(value = 19)
    @ExcelProperty("创建时间")
    @ApiModelProperty("创建时间")
    @TableField(fill = FieldFill.INSERT, value = "createTime")
    private Date createTime;

    @ColumnWidth(value = 19)
    @ExcelProperty("更新时间")
    @ApiModelProperty("更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE, value = "updateTime")
    private Date updateTime;

}